class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    # 重写object中的方法
    def __str__(self):
        return f'大家好，我是{self.name}, 今年{self.age}岁了'


person = Person('yinsc', 18)

# 输出：
# ['__class__', '__delattr__', '__dict__',
# '__dir__', '__doc__', '__eq__',
# '__firstlineno__', '__format__',
# '__ge__', '__getattribute__',
# '__getstate__', '__gt__', '__hash__',
# '__init__', '__init_subclass__', '__le__',
# '__lt__', '__module__', '__ne__', '__new__',
# '__reduce__', '__reduce_ex__', '__repr__',
# '__setattr__', '__sizeof__',
# '__static_attributes__', '__str__',
# '__subclasshook__', '__weakref__', 'age', 'name']
# 收尾双下滑的都是object类中的属性和方法，都是被系统自动调用的。
print(dir(person))
print('-' * 40)
print(person)
# person.__str__()
